dwc_otg: fix split transaction data toggle handling around dequeues
authorP33M <p33m@github.com>
Tue, 2 May 2017 15:31:15 +0000 (16:31 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:37:47 +0000 (17:37 +0000)
commitbcd29cfe54d7ab591c38d5f818cce6eed1d66b8f
tree9f9eeb39faf01bdfdb77fd6d654aab96cbd0f707
parent0cf0980515d8b70dfe5cd90f332425cd994f3c3c
dwc_otg: fix split transaction data toggle handling around dequeues

See https://github.com/raspberrypi/linux/issues/1709

Fix several issues regarding endpoint state when URBs are dequeued
- If the HCD is disconnected, flush FIQ-enabled channels properly
- Save the data toggle state for bulk endpoints if the last transfer
  from an endpoint where URBs were dequeued returned a data packet
- Reset hc->start_pkt_count properly in assign_and_init_hc()
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c